package com.scyshkj.university.wechat.pay;

import lombok.Data;

/**
 * Created by 唐旭 on 2016/11/22.
 */
@Data
public class WechatUnifiedOrderResult {
    private String return_code;// 字段名:返回状态码; 必填:是; 类型:String(16); 示例值:SUCCESS;
    // 描述:SUCCESS/FAIL
    private String return_msg;// 字段名:返回信息; 必填:否; 类型:String(128); 示例值:签名失败;
    // 描述:返回信息，如非空，为错误原因
    //private String appid;// 字段名:公众账号ID; 必填:是; 类型:String(32); 示例值:wx8888888888888888;
    // 描述:调用接口提交的公众账号ID
    //private String mch_id;// 字段名:商户号; 必填:是; 类型:String(32); 示例值:1900000109; 描述:调用接口提交的商户号
    private String sub_appid;// 字段名:子商户公众账号ID; 必填:否; 类型:String(32);
    // 示例值:wx8888888888888888; 描述:微信分配的子商户公众账号ID
    private String sub_mch_id;// 字段名:子商户号; 必填:是; 类型:String(32); 示例值:1900000109;
    // 描述:微信支付分配的子商户号
    private String device_info;// 字段名:设备号; 必填:否; 类型:String(32); 示例值:13467007045764;
    // 描述:调用接口提交的终端设备号，
    //private String nonce_str;// 字段名:随机字符串; 必填:是; 类型:String(32);
    // 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS; 描述:微信返回的随机字符串
    //private String sign;// 字段名:签名; 必填:是; 类型:String(32);
    // 示例值:C380BEC2BFD727A4B6845133519F3AD6; 描述:微信返回的签名，详见签名算法
    private String result_code;// 字段名:业务结果; 必填:是; 类型:String(16); 示例值:SUCCESS;
    // 描述:SUCCESS/FAIL
    private String err_code;// 字段名:错误代码; 必填:否; 类型:String(32); 示例值:SYSTEMERROR;
    // 描述:详细参见第6节错误列表
    private String err_code_des;// 字段名:错误代码描述; 必填:否; 类型:String(128); 示例值:系统错误;
    // 描述:错误返回的信息描述
    private String trade_type;// 字段名:交易类型; 必填:是; 类型:String(16); 示例值:JSAPI;
    // 描述:调用接口提交的交易类型，取值如下：JSAPI，NATIVE，APP，详细说明见参数规定
    private String prepay_id;// 字段名:预支付交易会话标识; 必填:是; 类型:String(64);
    // 示例值:wx201410272009395522657a690389285100;
    // 描述:微信生成的预支付回话标识，用于后续接口调用中使用，该值有效期为2小时
    private String code_url;// 字段名:二维码链接; 必填:否; 类型:String(64);
    // 示例值:URl：weixin://wxpay/s/An4baqw;
    // 描述:trade_type为NATIVE是有返回，可将该参数值生成二维码展示出来进行扫码支付

    /**
     * 是否成功
     *
     * @return true:成功;false:失败
     */
    public boolean isSuccess() {
        return "SUCCESS".equalsIgnoreCase(result_code);
    }

}
